import { TemplateRef, Type } from '@angular/core';
import { ApesDrawerRef } from './apes-drawer-ref';

export type ApesDrawerPlacement = 'left' | 'right' | 'top' | 'bottom';

// tslint:disable-next-line:no-any
export interface ApesDrawerOptions<T = any, D = any> {
  apesClosable?: boolean;
  apesMaskClosable?: boolean;
  apesMask?: boolean;
  apesTitle?: string | TemplateRef<{}>;
  apesContent?: TemplateRef<{ $implicit: D, drawerRef: ApesDrawerRef }> | Type<T>;
  apesContentParams?: D;
  apesMaskStyle?: object;
  apesBodyStyle?: object;
  apesWrapClassName?: string;
  apesWidth?: number | string;
  apesHeight?: number | string;
  apesPlacement?: ApesDrawerPlacement;
  apesZIndex?: number;
  apesOffsetX?: number;
  apesOffsetY?: number;
}
